package com.hai.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hai.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hai.vo.UserVO;
import org.apache.ibatis.annotations.Param;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author NieChangan
 * @since 2022-05-21
 */
public interface UserService extends IService<User> {



    /**
     * 用户登入
     *
     * @param username
     * @param password
     * @return
     */
    String login(String username, String password);


    /**
     * 根据用户名查询用户
     *
     * @param name 用户名
     * @return
     */
    User findUserByName(String name);


    /**
     * 功能描述: <br>
     * 〈查询用户并分页〉
     * @Param:
     * @Return:
     * @Author: Mr.Nie
     * @Date:
     */
    Page<User> getUserByPage( Page<User> page , UserVO userVO);


    /**
     * 导出用户Excel
     * @param response
     * @param tbUsers
     * @throws IOException
     */
    void exportUserExcel(HttpServletResponse response, List<User> tbUsers) throws IOException;


    /**
     * 功能描述: <br>
     * 〈导出用户信息〉
     * @Param:
     * @Return:
     * @Author: Mr.Nie
     * @Date:
     */
    List<User> getUserListToExcel(@Param("userVO") UserVO userVO);




}
